package com.example.java_chatroom.api;

import java.util.HashSet;
import java.util.Set;

public class SensitiveWordUtil {

    // 模拟的敏感词库，可以改为从数据库或文件加载
    private static final Set<String> SENSITIVE_WORDS = new HashSet<>();

    static {
        SENSITIVE_WORDS.add("暴力");
        SENSITIVE_WORDS.add("赌博");
        SENSITIVE_WORDS.add("走私");
        SENSITIVE_WORDS.add("毒品");
        SENSITIVE_WORDS.add("违法");
        // 可以继续添加更多敏感词
    }

    /**
     * 判断文本中是否包含敏感词
     *
     * @param text 待检测文本
     * @return 如果包含敏感词，返回 true；否则返回 false
     */
    public static boolean containsSensitiveWord(String text) {
        if (text == null || text.isEmpty()) {
            return false;
        }

        for (String word : SENSITIVE_WORDS) {
            if (text.contains(word)) {
                return true;
            }
        }
        return false;
    }

    /**
     * 添加敏感词到词库
     *
     * @param word 敏感词
     */
    public static void addSensitiveWord(String word) {
        if (word != null && !word.trim().isEmpty()) {
            SENSITIVE_WORDS.add(word.trim());
        }
    }

    /**
     * 移除敏感词
     *
     * @param word 敏感词
     */
    public static void removeSensitiveWord(String word) {
        SENSITIVE_WORDS.remove(word);
    }
}

